package com.yanqu.road.entity.log;

import com.yanqu.road.entity.FieldTypeAnnotation;
import com.yanqu.road.entity.activity.shushan.ShuShanDiscipleData;
import com.yanqu.road.entity.activity.shushan.ShuShanPropertiesInfo;

import java.util.HashMap;
import java.util.Map;

/**
 * @Description 蜀山历练进度奖励日志
 * @Author cwq
 * @Data 2022/3/26 18:18
 */
@FieldTypeAnnotation(tableName = "t_l_activity_shushan_receive_lilian_reward")
public class LogShuShanReceiveLiLianReward {

    @FieldTypeAnnotation(desc = "活动id")
    private long activityId;
    @FieldTypeAnnotation(desc = "用户id")
    private long userId;
    @FieldTypeAnnotation(desc = "弟子id")
    private long id;
    @FieldTypeAnnotation(desc = "资质")
    private int quality;
    @FieldTypeAnnotation(desc = "总仙力")
    private long totalValue;
    @FieldTypeAnnotation(desc = "弟子初始仙力情况")
    private Map<Integer, ShuShanPropertiesInfo> propertiesInfoMap = new HashMap<>();
    @FieldTypeAnnotation(desc = "历练格Id")
    private int liLianId;
    @FieldTypeAnnotation(desc = "领取的历练进度id")
    private int receiveId;
    @FieldTypeAnnotation(desc = "进度奖励")
    private String reward;
    @FieldTypeAnnotation(desc = "时间 ms")
    private long time;

    public LogShuShanReceiveLiLianReward(long activityId, long userId, ShuShanDiscipleData discipleData,long totalValue, int liLianId, int receiveId, String reward, long time) {
        this.activityId = activityId;
        this.userId = userId;
        if(discipleData != null){
            this.id = discipleData.getId();
            this.quality = discipleData.getQuality();
            this.propertiesInfoMap = new HashMap<>(discipleData.getPropertiesInfoMap());
        }
        this.totalValue = totalValue;
        this.liLianId = liLianId;
        this.receiveId = receiveId;
        this.reward = reward;
        this.time = time;
    }

    public long getActivityId() {
        return activityId;
    }

    public void setActivityId(long activityId) {
        this.activityId = activityId;
    }

    public long getUserId() {
        return userId;
    }

    public void setUserId(long userId) {
        this.userId = userId;
    }

    public long getId() {
        return id;
    }

    public void setId(long id) {
        this.id = id;
    }

    public int getQuality() {
        return quality;
    }

    public void setQuality(int quality) {
        this.quality = quality;
    }

    public long getTotalValue() {
        return totalValue;
    }

    public void setTotalValue(long totalValue) {
        this.totalValue = totalValue;
    }

    public Map<Integer, ShuShanPropertiesInfo> getPropertiesInfoMap() {
        return propertiesInfoMap;
    }

    public void setPropertiesInfoMap(Map<Integer, ShuShanPropertiesInfo> propertiesInfoMap) {
        this.propertiesInfoMap = propertiesInfoMap;
    }

    public int getLiLianId() {
        return liLianId;
    }

    public void setLiLianId(int liLianId) {
        this.liLianId = liLianId;
    }

    public int getReceiveId() {
        return receiveId;
    }

    public void setReceiveId(int receiveId) {
        this.receiveId = receiveId;
    }

    public String getReward() {
        return reward;
    }

    public void setReward(String reward) {
        this.reward = reward;
    }

    public long getTime() {
        return time;
    }

    public void setTime(long time) {
        this.time = time;
    }
}
